Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- GOOGLE ALGORITHM



  Traditional recursion vs Tail recursion

Recursion is a frequently adopted pattern for solving some sort of algorithm problems which need to divide and conquer a big issue and solve the smaller but the same issue first. For example, calculating fibonacci  accumulating sum and calculating factorials. In these kinds of issues, recursion is more straightforward than their loop counterpart. Furthermore, recursion may need less code and looks more concise. For example, let's calculate sum of a set of numbers starting with 0 and st...

   ALGORITHM,RECURSION,TAIL RECURSION,TRADITIONAL RECURSION     2016-09-23 23:54:09

  Don't write on the whiteboard

I recently interviewed at a major technology company. I won't mention the name because, honestly, I can't remember whether I signed an NDA, much less how strong it was.I did well. Mostly because of luck. I normally step over myself when I interview. I guess I've improved over the years. Here are a few tips to ace your own interview.1. Don't write on the whiteboardWhen I interviewed at Palantir around 5 years ago, I had a lot of trouble with this. Yes, I knew next to nothing about compu...

   Interview,Preparation,Whiteboard,Note,Python     2012-01-11 11:31:32

  Microsoft is going to redesign Bing again

On 10 May,2012, Microsoft announces in San Francisco they will  redesign its search engine Bing, and it will cooperate with Facebook, Twitter etc to build a new search service.Bing now is the second largest search engine in the world, but compared to Google, Bing is always the second city of search. Bing these years has always been putting effort on improving its service and the accuracy of search results. Unfortunately, it still cannot gain market share from Google. Today, Microsoft is goi...

   Bing,Social network,Integration,Sidebar     2012-05-11 05:26:11

  Big file transfer in Linux

It's very common that we need to transfer files between two different hosts such as backups. It is also an very simple task, we can use scp or rsync to complete the task well. But what if the file is very big, it may take some time to transfer it. How can we transfer a big file with high speed? Here we propose one solution. Copy file If we copy one uncompressed file, then we should follow below steps: Compress data Send it to another host Uncompress the data Verify the data integrity This will...

   Linux, SCP,ZIP     2013-01-10 05:55:50

  Early homepages of some famous websites

Are you curious about what are their early homepages like for some famous IT companies? Let's take a look at them now. 1. Google This page was relative concise at that time. The current Google homepage is more concise. 2. Facebook It went online on 4th Feb, 2004. This was its homepage in 2004 3. YouTube It went online on 15th Feb, 2005. Until 22nd April, the first video clip was uploaded. 4. Wikipedia It emphasizes on free content and collaborative editing. It also supports many languages. 5...

   Homepage,website,History,Google,Facebook     2015-07-23 11:34:18

  Does Android team like to eat Kitkat?

Google released the new Android development code for Android 4.4 :KitKat.The new version will bring astonishing user experience for Android users. The interesting thing about the name is that it has the same name as one brand of Nescafe's chocolate wafer. Nescafe has authorized that Google can use this name as their development code. We may guess that the project team or the director was eating Kitkat or like to eat Kitkat while they were brainstorming the new development code, so they came out ...

   Android,Kitkat,development code     2013-09-03 23:03:03

  Implementing DESede/ECB/NoPadding cipher algorithm in GoLang

By default, GoLang doesn't provide the ECB mode cipher for DESede though there is CBC mode provided. In cases we need to encrypt/decrypt data with ECB mode, we need to implement those by ourselves. This mode is frequently used when encrypting/decrypting PIN block which is small block data less than 16 bytes. In this post, we will introduce how to implement the DESede/ECB/NoPadding algorithm in GoLang by using the existing cipher support. Here we will not cover how DESede works in detail, instead...

   SECURITY,SAMPLE,GOLANG,DES,DESEDE,3DES     2019-07-29 06:43:50

  Find max subarray of an array

In computer science, the maximum subarray problem is the task of finding the contiguous subarray within a one-dimensional array of numbers (containing at least one positive number) which has the largest sum. For example, for the sequence of values −2, 1, −3, 4, −1, 2, 1, −5, 4; the contiguous subarray with the largest sum is 4, −1, 2, 1, with sum 6. The problem was first posed by Ulf Grenander of Brown University in 1977,...

   Max Subarray, Divide and conquer,Kadane     2013-04-22 11:50:35

  Google is missing in the photo with Chinese president Xi Jinping

Chinese president Xi Jinping has started his formal visit to US on 22nd September. The first stop is Seattle where Microsoft and Amazon headquarters are located. On 23rd September (Wednesday), Xi Jinping attended a forum named "The 8th US-China Internet Industry Forum" in Seattle.  On this forum, president Xi expressed the attitude of Chinese government to Internet. He advocated to build an peaceful, secure, open and collaborative Internet environment so that every country can benefit from ...

   NEWS,GOOGLE,CHINA,XI JINPING     2015-09-24 03:54:18

  C++ and Java over Python in Google products

In Google, most of the products are written in C++ and Java. They usually don't choose Python to write their product stack. What's behind the decision to choose one language over the other in Google? Let's get to read some opinions from Robert Love, a Google software engineer. Love said he couldn't imagine writing let alone maintaining a large software stack in Python. They use C++, Go, and Java for production software systems, with Python employed for scripting, testing, and tooling.There are a...

   Java,Python,Google     2014-07-20 04:39:09